package com.eastfair.auth.hystrix;

import com.eastfair.auth.api.AuthServiceFeign;
import com.eastfair.auth.dto.OrganizationDTO;
import com.eastfair.auth.dto.OrganizationRoleDto;
import com.eastfair.auth.dto.UserAccountDto;
import com.eastfair.auth.dto.UserOrganizationDTO;
import com.eastfair.auth.entity.Organization;
import com.eastfair.auth.entity.UserAccount;
import com.eastfair.auth.entity.UserOrganization;
import com.eastfair.auth.vo.ResourceOrganizationVo;
import com.eastfair.auth.vo.UserAccountVo;
import com.eastfair.core.base.R;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * 用户API熔断
 *
 * @author zuihou
 * @date 2019/07/23
 */
@Component
public class AuthApiFallback implements AuthServiceFeign {

    @Override
    public R addUserOfAudience(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R<Organization> addCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R<Organization> updCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R updUseridOfCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R removeUseridOfCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R addUseridOfCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }


    @Override
    public R createExhibition(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R<Organization> updExhibition(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R addCompanyOfExhibition(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R removeCompanyOfExhibition(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R removeUseridOfExhibitionCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R addUseridOfExhibitionCompany(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R test(Long id) {
        return R.timeout();
    }

    @Override
    public R<Organization> createProject(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R<Organization> updProjectOrganization(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R addOrgRole(OrganizationRoleDto orgRoleDto) {
        return R.timeout();
    }

    @Override
    public R updOrgRole(OrganizationRoleDto orgRoleDto) {
        return R.timeout();
    }

    @Override
    public R<List<Long>> queryRoleOfResourceId(Long resourceId) {
        return R.timeout();
    }

    @Override
    public R<List<Long>> queryOrgOfResourceId(Long resourceId, Long orgId) {
        return R.timeout();
    }

    @Override
    public R<UserOrganization> addUserOfOrg(UserOrganizationDTO userOrganizationDTO) {
        return R.timeout();
    }

    @Override
    public R<Organization> queryOrgOfType(OrganizationDTO organizationDTO) {
        return R.timeout();
    }

    @Override
    public R<List<ResourceOrganizationVo>> queryResource(List<Long> orgIds) {
        return R.timeout();
    }

    @Override
    public R<List<Long>> queryResourceId(List<Long> orgIds) {
        return R.timeout();
    }

    @Override
    public R<Map<Long, List<Organization>>> queryOrgOfResource(List<Long> resourceIds, List<Long> orgIds) {
        return R.timeout();
    }

    @Override
    public R<List<Map>> loadUserPermission(List<Long> userIds) {
        return R.timeout();
    }

    @Override
    public R<List<Map>> loadUserPermissionOfOrg(List<Long> orgIds) {
        return R.timeout();
    }

    @Override
    public R<List<Map>> loadUserPermissionOfRole(List<Long> roleIds) {
        return R.timeout();
    }

}
